﻿#ifndef SVTEMPLATEMODEL_H
#define SVTEMPLATEMODEL_H

#include <QObject>

#include "SVGobalSetting.h"

#define TEMPLATEMODEL SVTemplateModel::getInstance()

class SVTemplateModel : public QObject
{
    Q_OBJECT
public:
    SVTemplateModel(QObject *parent = nullptr);

    static SVTemplateModel *getInstance();

    QList<QImage> getTemplateImages() const;
    std::vector<PCBTemplateFeatures> getTemplateFeatures() const;
    void addTemplateImage(const PCBTemplateFeatures &feature);
    void removeTemplateImage(int index);
    void clearTemplateImages();

private:
    QList<PCBTemplateFeatures> mTemplateImages;
};

#endif
